package com.ticket.sass.common.ticketserver.dto.output

import com.fasterxml.jackson.annotation.JsonProperty

data class ScheduleOutput(
    @JsonProperty("list")
    val list: List<Schedule>
) {
    data class Schedule(
        /**
         * 排期唯一编号（专资场次编码）
         *
         * 满天星（FeatureAppNo）
         * M1905（SessionNo）
         * 辰星（FeatureAppNo）
         * 凤凰云智（scheduleId）
         * 火烈鸟（cinemaShowCode）
         * 鼎新（cinePlayId）
         * 沃思达（未确定）
         */
        @JsonProperty("sessionCode")
        val sessionCode: String,

        /**
         * 排期唯一编号
         *
         * 满天星（FeatureNo）
         * 凤凰云智（scheduleKey）
         * 沃思达（未确定）
         * 鼎新（id）
         * 其它（无）
         */
        @JsonProperty("scheduleKey")
        val scheduleKey: String,

        @JsonProperty("startTime")
        val startTime: String,
        @JsonProperty("endTime")
        val endTime: String,

        /**
         * 状态
         *
         * 满天星（SetClose，计划状态：0-未售，1-开售，2-截止，3-停售，5-统计，9-注销）
         * M1905（Status，状态：1-可卖票，0-不可卖票）
         * 鼎鑫（allowBook，该场次的座位是否可预订：0-不可预订，1-可预订）
         * 凤凰云智（saleStatus，开售标识：Y-开售，N-停售）
         * 火烈鸟（status，0-下架，1-上架，2-失效）
         * 辰星（无）
         * 沃思达（未确定）
         */
        @JsonProperty("status")
        val status: String,

        @JsonProperty("filmName")
        val filmName: String,

        @JsonProperty("filmCode")
        val filmCode: String,

        @JsonProperty("filmVersion")
        val filmVersion: String,

        @JsonProperty("hallName")
        val hallName: String,

        @JsonProperty("hallCode")
        val hallCode: String,

        /**
         * 售价
         *
         * 满天星（AppPric）
         * M1905（AppPrice）
         * 辰星（ListingPrice）
         * 沃思达（未确定）
         * 其它（无）
         */
        @JsonProperty("salePrice")
        val salePrice: Float,

        /**
         * 标准价
         */
        @JsonProperty("standPrice")
        val standPrice: Float,

        /**
         * 最低票价
         *
         * 满天星（ProtectPrice，保护价）
         * M1905（LowestPrice，最低限价）
         * 辰星（LowestPrice，最低票价）
         * 凤凰云智（lowestPrice，最低票价）
         * 火烈鸟（minPrice，最低价）
         * 鼎鑫（lowestPrice，限制能卖的最低价格）
         * 沃思达（未确定）
         */
        @JsonProperty("lowestPrice")
        val lowestPrice: Float,

        /**
         * 服务费
         *
         * 辰星（ServiceAddFee，增值服务费）
         * M1905（Fee，服务费上限）
         * 凤凰云智（ticketfee，手续费）
         * 沃思达（未确定）
         * 其它（无）
         */
        @JsonProperty("serviceFee")
        val serviceFee: Float,

        /**
         * 语种
         */
        @JsonProperty("language")
        val language: String,

        /**
         * 座位版本
         *
         * 凤凰云智（seatVersion 座位图版本）
         * 其它（无）
         */
        @JsonProperty("seatVersion")
        val seatVersion: String = "",

        /**
         * 场次最后更新时间
         *
         * 鼎新（cineUpdatetime 场次最后更新时间）
         */
        @JsonProperty("updateTime")
        val updateTime: String = "",
    )
}
